The present invention relates generally to a method and system architecture which allows a transaction processing environment to function within a distributed operating system, such as data processing, robotics, or any system which operates to perform a specific task. This invention provides transaction support services (TSS) by providing a transaction manager which supplies coordination, concurrency and recovery services to the overall operating system. Further, the system of the present invention is structured (interfaced) to provide a terminal monitor or transaction shell, such that in addition to normal terminal and screen handling facilities, the present invention will provide enhanced terminal handling and transaction scheduling functions.
It is presently known in distributed data processing systems to utilize transactional processing within single resources, such as databases, communication systems and file systems. For example, conventional database systems merely provide a user with a method for performing work on a single system, and within a single database, by supplying a mechanism to group a number of actions into a "transaction", which operates to isolate actions between system users and also provides specific guarantees regarding the effects of the operations. Further, it should be noted that operations defined within a transaction are required to either be wholly completed, or if unsuccessful, to be regarded as not occurring at all. This operating structure guarantees that the results of a successful transaction are permanent (committed) and that unsuccessful transactions are disregarded (aborted).
Prior art systems, such as a standard Unix operating system (Unix is a registered trademark of AT&T Co.) shell, provide terminal handling facilities and screen handling functions. However, conventional shells do not provide the terminal monitoring facilities necessary for optimal terminal support in the transaction environment. These facilities include enhanced terminal handling and improved transaction scheduling. Enhanced terminal handling provides loading support, whereas the improved transaction scheduling allows for: (1) transaction validation; (2) prioritization; (3) execution and action queue; and (4) availability management.